package beans;

import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;


public class ApplicationBeanValidator implements Validator {

	@Override
	public boolean supports(Class<?> arg0) {
		return ApplicationBean.class.equals(arg0);
	}

	@Override
	public void validate(Object obj, Errors e) {
		ApplicationBean app = (ApplicationBean)obj;
		ValidationUtils.rejectIfEmptyOrWhitespace(e, "nazev", "field.required", "Hodnota nesmí být prázdná");
		ValidationUtils.rejectIfEmptyOrWhitespace(e, "popis", "field.required", "Hodnota nesmí být prázdná");
		ValidationUtils.rejectIfEmptyOrWhitespace(e, "tags", "field.required", "Hodnota nesmí být prázdná");
		
		if (!app.isEditing()){
			if(app.getIcon().getSize()==0){
				e.rejectValue("icon", "required.fileUpload", "Musí být vybrán soubor");
			}
			
			if(app.getContent().getSize()==0){
				e.rejectValue("content", "required.fileUpload", "Musí být vybrán soubor");
			}
		}
	}

}